#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
class TestClass
{
public:
    TestClass() { n = 1; }
    TestClass(const TestClass&) { n = 2; }
    TestClass(TestClass&&) { n = 3; }
    TestClass& operator =(TestClass&& other) { n = 4; return *this; }
    operator int() const { return n * 10; }
    int n = 0;
};
int main()
{
    TestClass t1;
    t1.n = 5;
    auto t2 = std::move(t1);
    std::cout << t1 << std::endl;
    std::cout << t2.n << std::endl;
    return 0;
}
